package org.kl.bf.entity.workflow;

import java.util.Date;
import java.util.List;

import org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * @Author hqm
 * @CreateTime 2014年5月15日 下午9:09:33
 */
public class EHistoricTaskInstance {
	private String id;
	private String processInstanceId;
	private String processDefinitionId;
	private Date startTime;
	private Date endTime;
	/**
	 * 耗时
	 */
	private Long durationInMillis;
	/**
	   * 
	   */
	private String deleteReason;
	/**
	 * 执行实例ID
	 */
	private String executionId;
	/**
	 * task名称
	 */
	private String name;
	/**
	 * 父节点实例ID
	 */
	private String parentTaskId;
	private String description;
	/**
	 * 实际签收人 任务的拥有者
	 */
	private String owner;
	/**
	 * 签收人或被委托
	 */
	private String assignee;
	/**
	 * task节点定义ID
	 */
	private String taskDefinitionKey;
	/**
	 * 节点定义的 formkey
	 */
	private String formKey;
	/**
	 * 优先级别
	 */
	private int priority;
	/**
	 * 过期时间，表明任务应在多长时间内完成
	 */
	private Date dueDate;
	/**
	 * 提醒时间
	 */
	private Date claimTime;
	private String category;
	private List<HistoricVariableInstanceEntity> queryVariables;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getProcessInstanceId() {
		return processInstanceId;
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}

	public String getProcessDefinitionId() {
		return processDefinitionId;
	}

	public void setProcessDefinitionId(String processDefinitionId) {
		this.processDefinitionId = processDefinitionId;
	}

	// 设定JSON序列化时的日期格式
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	// 设定JSON序列化时的日期格式
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public Long getDurationInMillis() {
		return durationInMillis;
	}

	public void setDurationInMillis(Long durationInMillis) {
		this.durationInMillis = durationInMillis;
	}

	public String getDeleteReason() {
		return deleteReason;
	}

	public void setDeleteReason(String deleteReason) {
		this.deleteReason = deleteReason;
	}

	public String getExecutionId() {
		return executionId;
	}

	public void setExecutionId(String executionId) {
		this.executionId = executionId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getParentTaskId() {
		return parentTaskId;
	}

	public void setParentTaskId(String parentTaskId) {
		this.parentTaskId = parentTaskId;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getOwner() {
		return owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

	public String getAssignee() {
		return assignee;
	}

	public void setAssignee(String assignee) {
		this.assignee = assignee;
	}

	public String getTaskDefinitionKey() {
		return taskDefinitionKey;
	}

	public void setTaskDefinitionKey(String taskDefinitionKey) {
		this.taskDefinitionKey = taskDefinitionKey;
	}

	public String getFormKey() {
		return formKey;
	}

	public void setFormKey(String formKey) {
		this.formKey = formKey;
	}

	public int getPriority() {
		return priority;
	}

	public void setPriority(int priority) {
		this.priority = priority;
	}

	// 设定JSON序列化时的日期格式
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	public Date getDueDate() {
		return dueDate;
	}

	public void setDueDate(Date dueDate) {
		this.dueDate = dueDate;
	}

	// 设定JSON序列化时的日期格式
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	public Date getClaimTime() {
		return claimTime;
	}

	public void setClaimTime(Date claimTime) {
		this.claimTime = claimTime;
	}

	public String getCategory() {
		return category;
	}

	public void setCategory(String category) {
		this.category = category;
	}

	public List<HistoricVariableInstanceEntity> getQueryVariables() {
		return queryVariables;
	}

	public void setQueryVariables(List<HistoricVariableInstanceEntity> queryVariables) {
		this.queryVariables = queryVariables;
	}

}
